Service Oriented Architecture (SOA) is a computer application integration architecture that is based on a concept of an application service. An application service (hereinafter “service”) typically encapsulates a business function, such as processing of supplied data in accordance with a predetermined business process, and provides platform independent functionality between heterogeneous applications. The service functionality is specified via an implementation independent service interface definition, such as a Web Services Description Language (WSDL). As an example of a service, a thin client application implemented on a JavaScript, Java and/or other platform requests user authentication and supplies user credentials to an authentication service executed by one or more server applications implemented on a COBOL platform. Thus, the service may be provided by one or more service provider applications that process the service request in accordance with their specific technology implementation and provide the results of the service execution back to a service consumer application per service definition. The service consumer application, in turn, may be implemented on a technology platform that is different from the service provider application. The service consumer and service provider applications are loosely coupled through the service interface while hiding the implementation details.
While SOA implementations integrate a number of heterogeneous applications, typical enterprise system development timelines drive tactical architectural decisions that result in creation of multiple dedicated services which are specific to a given application environment. In particular, health care enterprises, such as health insurance enterprises, integrate a multitude of heterogeneous application environments to accommodate numerous communication channels necessary for the flow of health care data. Although similar type of information may be processed by various applications and services within a health care enterprise, each application environment typically employs its own dedicated set of services due to requiring a different level of detail, or granularity, for the data supplied to and processed by its respective set of services. Thus, multiple services are created for processing similar information, which decreases the overall system efficiency, increases development, maintenance and computational costs, and negatively affects system performance.